home *** CD-ROM | disk | FTP | other *** search
- /******************************************************************************
- *
- * NSSDC/CDF Header file for C and INTERNAL interfaces.
- *
- * Version 3.0, 29-Feb-92, ST Systems (STX)
- *
- * Modification history:
- *
- * V1.0 22-Jan-91, R Kulkarni/J Love Original version (for CDF V2.0).
- * V2.0 3-Jun-91, J Love Modified for CDF V2.1 enhancements,
- * namely the INTERNAL interface and the
- * MULTI/SINGLE file option. Added
- * macros to replace C i/f functions.
- * V2.1 20-Jun-91, J Love Added function prototypes.
- * V2.2 8-Aug-91, J Love Increment for CDF V2.1.2. Use
- * 'CDFlib'. Renamed a few items.
- * V3.0 29-Feb-92, J Love IBM PC & HP-UX port. CDF V2.2.
- *
- ******************************************************************************/
-
- #if !defined(___cdf_h___)
- #define ___cdf_h___
-
- /******************************************************************************
- * Current version/release/increment.
- ******************************************************************************/
-
- #define CDF_LIBRARY_VERSION (long) 2
- #define CDF_LIBRARY_RELEASE (long) 2
- #define CDF_LIBRARY_INCREMENT (long) 0
- #define CDF_LIBRARY_subINCREMENT '*'
-
- /******************************************************************************
- * Limits
- ******************************************************************************/
-
- #define CDF_MAX_CDFS 128 /* max number of CDFs which may be
- open at the same time */
- #define CDF_MAX_VARS 128 /* max number of variables a CDF may
- have */
- #define CDF_MIN_DIMS 0 /* min number of dimensions a CDF may
- have */
- #define CDF_MAX_DIMS 10 /* max number of dimensions a CDF may
- have */
-
- /******************************************************************************
- * Lengths
- ******************************************************************************/
-
- #define CDF_VAR_NAME_LEN 64
- #define CDF_ATTR_NAME_LEN 64
-
- #define CDF_COPYRIGHT_LEN 1945 /* includes NUL-terminator */
- #define CDF_DOCUMENT_LEN CDF_COPYRIGHT_LEN
- /* for compatibility with V2.0 */
-
- #define CDF_STATUSTEXT_LEN 256
- #define CDF_ERRTEXT_LEN CDF_STATUSTEXT_LEN
- /* for compatibility with V2.0 */
-
- #define CDF_PATHNAME_LEN 128
- #define CDF_FILE_NAME_LEN CDF_PATHNAME_LEN
- #define CDF_VAR_FILE_NAME_LEN CDF_PATHNAME_LEN
-
- /******************************************************************************
- * Data types.
- ******************************************************************************/
-
- #define CDF_INT1 (long) 1
- #define CDF_INT2 (long) 2
- #define CDF_INT4 (long) 4
-
- #define CDF_UINT1 (long) 11
- #define CDF_UINT2 (long) 12
- #define CDF_UINT4 (long) 14
-
- #define CDF_REAL4 (long) 21
- #define CDF_REAL8 (long) 22
-
- #define CDF_EPOCH (long) 31 /* NSSDC standard */
-
- #define CDF_BYTE (long) 41 /* same as CDF_INT1 (signed) */
- #define CDF_FLOAT (long) 44 /* same as CDF_REAL4 */
- #define CDF_DOUBLE (long) 45 /* same as CDF_REAL8 */
-
- #define CDF_CHAR (long) 51 /* a "string" data type */
- #define CDF_UCHAR (long) 52 /* a "string" data type */
-
- #define CDF_ILLEGAL_DATATYPE (long) (-1) /* needed to support CDF
- Obsolete interface (from
- Version 1) */
-
- /******************************************************************************
- * Encoding Formats (for data only, everything else is network encoding)
- ******************************************************************************/
-
- #define NETWORK_ENCODING (long) 1
-
- #define SUN_ENCODING (long) 2
- #define VAX_ENCODING (long) 3
- #define MIPSEL_ENCODING (long) 4
- #define MIPSEB_ENCODING (long) 5
- #define IBMPC_ENCODING (long) 6
- #define IBMRS_ENCODING (long) 7
-
- #define HOST_ENCODING (long) 8
-
- /* #define CRAY_ENCODING (long) 9 */
- /* #define MAC_ENCODING (long) 10 */
-
- #define HP_ENCODING (long) 11
-
- /******************************************************************************
- * Variance flags
- ******************************************************************************/
-
- #define VARY (long) (-1) /* TRUE record or dimension variance flag */
- #define NOVARY (long) 0 /* FALSE record or dimension variance flag */
-
- /******************************************************************************
- * Majorities
- ******************************************************************************/
-
- #define ROW_MAJOR (long) 1
- #define COL_MAJOR (long) 2
-
- /******************************************************************************
- * Formats.
- ******************************************************************************/
-
- #define SINGLE_FILE (long) 1
- #define MULTI_FILE (long) 2
-
- /******************************************************************************
- * Attribute scopes
- ******************************************************************************/
-
- #define GLOBAL_SCOPE (long) 1
- #define VARIABLE_SCOPE (long) 2
- #define GLOBAL_SCOPE_ASSUMED (long) 3
- #define VARIABLE_SCOPE_ASSUMED (long) 4
-
- /*****************************************************************************
- * Optimization.
- *****************************************************************************/
-
- #define C_INTERFACE_MACROS 1 /* when TRUE (1), the macros found in
- 'cdf.h' will be used for most C
- interface calls (expand to call the
- INTERNAL interface directly) */
-
- /******************************************************************************
- * Status codes (CDFstatus)
- * - informatory codes are greater than CDF_OK
- ******************************************************************************/
-
- #define VIRTUAL_RECORD_DATA (CDFstatus) 1001
- #define READ_ONLY_ACCESS (CDFstatus) 1002
- #define VERSION_1_CDF (CDFstatus) 1003
-
- #define CDF_OK (CDFstatus) 0
-
- #define ATTR_NAME_TRUNC (CDFstatus) (-1001)
- #define CDF_NAME_TRUNC (CDFstatus) (-1002)
- #define VAR_NAME_TRUNC (CDFstatus) (-1003)
- #define CDF_INCOMPATIBLE (CDFstatus) (-1004)
- #define VAR_ALREADY_CLOSED (CDFstatus) (-1005)
- #define SINGLE_FILE_FORMAT (CDFstatus) (-1006)
- #define NO_FILLVALUE_SPECIFIED (CDFstatus) (-1007)
- #define NO_VARS_IN_CDF (CDFstatus) (-1008)
-
- #define CDF_WARN (CDFstatus) (-2000)
- /* threshold, never returned */
-
- #define ATTR_EXISTS (CDFstatus) (-2001)
- #define BAD_CDF_ID (CDFstatus) (-2002)
- #define BAD_DATA_TYPE (CDFstatus) (-2003)
- #define BAD_DIM_SIZE (CDFstatus) (-2004)
- #define BAD_DIM_INDEX (CDFstatus) (-2005)
- #define BAD_ENCODING (CDFstatus) (-2006)
- #define BAD_MAJORITY (CDFstatus) (-2007)
- #define BAD_NUM_DIMS (CDFstatus) (-2008)
- #define BAD_REC_NUM (CDFstatus) (-2009)
- #define BAD_SCOPE (CDFstatus) (-2010)
- #define BAD_NUM_ELEMS (CDFstatus) (-2011)
- #define CDF_OPEN_ERROR (CDFstatus) (-2012)
- #define CDF_EXISTS (CDFstatus) (-2013)
- #define BAD_FORMAT (CDFstatus) (-2014)
- #define VAX_ENCODING_UNSUPPORTED (CDFstatus) (-2015)
- #define SUN_ENCODING_UNSUPPORTED (CDFstatus) (-2016)
- #define NO_SUCH_ATTR (CDFstatus) (-2017)
- #define NO_SUCH_ENTRY (CDFstatus) (-2018)
- #define NO_SUCH_VAR (CDFstatus) (-2019)
- #define VAR_READ_ERROR (CDFstatus) (-2020)
- #define VAR_WRITE_ERROR (CDFstatus) (-2021)
- #define TOO_MANY_CDFS (CDFstatus) (-2022)
- #define IBM_PC_OVERFLOW (CDFstatus) (-2023)
- #define TOO_MANY_VARS (CDFstatus) (-2024)
- #define VAR_EXISTS (CDFstatus) (-2025)
- #define BAD_MALLOC (CDFstatus) (-2026)
- #define NOT_A_CDF (CDFstatus) (-2027)
- #define CORRUPTED_V2_CDF (CDFstatus) (-2028)
- #define VAR_OPEN_ERROR (CDFstatus) (-2029)
- #define BAD_INITIAL_RECS (CDFstatus) (-2030)
- #define BAD_EXTEND_RECS (CDFstatus) (-2031)
- #define END_OF_VAR (CDFstatus) (-2032)
- #define MIPSEB_ENCODING_UNSUPPORTED (CDFstatus) (-2033)
- #define BAD_CDFSTATUS (CDFstatus) (-2034)
- #define NO_WRITE_ACCESS (CDFstatus) (-2035)
- #define NO_DELETE_ACCESS (CDFstatus) (-2036)
- #define BAD_REC_COUNT (CDFstatus) (-2037)
- #define BAD_REC_INTERVAL (CDFstatus) (-2038)
- #define BAD_DIM_COUNT (CDFstatus) (-2039)
- #define BAD_DIM_INTERVAL (CDFstatus) (-2040)
- #define BAD_VAR_NUM (CDFstatus) (-2041)
- #define BAD_ATTR_NUM (CDFstatus) (-2042)
- #define BAD_ENTRY_NUM (CDFstatus) (-2043)
- #define BAD_ATTR_NAME (CDFstatus) (-2044)
- #define BAD_VAR_NAME (CDFstatus) (-2045)
- #define NO_ATTR_SELECTED (CDFstatus) (-2046)
- #define NO_ENTRY_SELECTED (CDFstatus) (-2047)
- #define NO_VAR_SELECTED (CDFstatus) (-2048)
- #define BAD_CDF_NAME (CDFstatus) (-2049)
- #define MIPSEL_ENCODING_UNSUPPORTED (CDFstatus) (-2050)
- #define CANNOT_CHANGE (CDFstatus) (-2051)
- #define NO_STATUS_SELECTED (CDFstatus) (-2052)
- #define NO_CDF_SELECTED (CDFstatus) (-2053)
- #define NO_RECORDS_EXIST (CDFstatus) (-2054)
- #define CDF_CLOSE_ERROR (CDFstatus) (-2055)
- #define VAR_CLOSE_ERROR (CDFstatus) (-2056)
- #define HP_ENCODING_UNSUPPORTED (CDFstatus) (-2057)
- #define BAD_FNC_OR_ITEM (CDFstatus) (-2058)
- #define CORRUPTED_V1_CDF (CDFstatus) (-2059)
- #define ILLEGAL_ON_V1_CDF (CDFstatus) (-2060)
- #define CDH_OPEN_ERROR (CDFstatus) (-2061)
- #define CDH_CLOSE_ERROR (CDFstatus) (-2062)
- #define V1_CDF_UNSUPPORTED (CDFstatus) (-2063)
- #define IBMPC_ENCODING_UNSUPPORTED (CDFstatus) (-2064)
- #define IBMRS_ENCODING_UNSUPPORTED (CDFstatus) (-2065)
- #define CDF_CREATE_ERROR (CDFstatus) (-2066)
- #define NO_SUCH_CDF (CDFstatus) (-2067)
- #define VAR_CREATE_ERROR (CDFstatus) (-2068)
-
- /******************************************************************************
- * Functions (for INTERNAL interface).
- * NOTE: These values must be different from those of the items.
- ******************************************************************************/
-
- #define CREATE_ (long) 101
- #define OPEN_ (long) 102
- #define DELETE_ (long) 103
- #define CLOSE_ (long) 104
- #define SELECT_ (long) 105
- #define CONFIRM_ (long) 106
- #define GET_ (long) 107
- #define PUT_ (long) 108
-
- #define NULL_ (long) 0 /* ends the call to the INTERNAL interface */
-
- /******************************************************************************
- * Items on which functions are performed (for INTERNAL interface).
- * NOTE: These values must be different from those of the functions.
- ******************************************************************************/
-
- #define CDF_ (long) 1
- #define CDF_NAME_ (long) 2
- #define CDF_NUMDIMS_ (long) 3
- #define CDF_DIMSIZES_ (long) 4
- #define CDF_ENCODING_ (long) 5
- #define CDF_MAJORITY_ (long) 6
- #define CDF_FORMAT_ (long) 7
- #define CDF_COPYRIGHT_ (long) 8
- #define CDF_NUMVARS_ (long) 9
- #define CDF_NUMATTRS_ (long) 10
- #define CDF_MAXREC_ (long) 11
- #define CDF_VERSION_ (long) 12
- #define CDF_RELEASE_ (long) 13
- #define CDF_INCREMENT_ (long) 14
- #define CDF_ARRAY_ (long) 15
- #define CDF_STATUS_ (long) 16
-
- #define LIB_COPYRIGHT_ (long) 17
- #define LIB_VERSION_ (long) 18
- #define LIB_RELEASE_ (long) 19
- #define LIB_INCREMENT_ (long) 20
- #define LIB_subINCREMENT_ (long) 21
-
- #define VAR_ (long) 22
-
- #define CDF_RECNUMBER_ (long) 23
- #define CDF_RECCOUNT_ (long) 24
- #define CDF_RECINTERVAL_ (long) 25
- #define CDF_DIMINDICES_ (long) 26
- #define CDF_DIMCOUNTS_ (long) 27
- #define CDF_DIMINTERVALS_ (long) 28
-
- #define VAR_NAME_ (long) 29
- #define VAR_DATATYPE_ (long) 30
- #define VAR_NUMELEMS_ (long) 31
- #define VAR_RECVARY_ (long) 32
- #define VAR_DIMVARYS_ (long) 33
- #define VAR_NUMBER_ (long) 34
- #define VAR_DATA_ (long) 35
- #define VAR_HYPERDATA_ (long) 36
- #define VAR_SEQDATA_ (long) 37
- #define VAR_SEQPOS_ (long) 38
- #define VAR_MAXREC_ (long) 39
- #define VAR_DATASPEC_ (long) 40
- #define VAR_FILLVALUE_ (long) 41
- #define VAR_INITIALRECS_ (long) 42
- #define VAR_EXTENDRECS_ (long) 43
-
- #define ATTR_ (long) 44
- #define ATTR_SCOPE_ (long) 45
- #define ATTR_NAME_ (long) 46
- #define ATTR_NUMBER_ (long) 47
- #define ATTR_MAXENTRY_ (long) 48
- #define ATTR_NUMENTRIES_ (long) 49
-
- #define ENTRY_ (long) 50
- #define ENTRY_DATATYPE_ (long) 51
- #define ENTRY_NUMELEMS_ (long) 52
- #define ENTRY_DATA_ (long) 53
-
- #define STATUS_TEXT_ (long) 54
-
- /******************************************************************************
- * C interface macro.
- ******************************************************************************/
-
- #if C_INTERFACE_MACROS
- #define CDFcreate(CDFname,numDims,dimSizes,encoding,majority,id) \
- CDFlib (CREATE_, CDF_, CDFname, numDims, dimSizes, id, \
- PUT_, CDF_ENCODING_, encoding, \
- CDF_MAJORITY_, majority, \
- NULL_)
-
- #define CDFopen(CDFname,id) \
- CDFlib (OPEN_, CDF_, CDFname, id, \
- NULL_)
-
- #define CDFdoc(id,version,release,text) \
- CDFlib (SELECT_, CDF_, id, \
- GET_, CDF_VERSION_, version, \
- CDF_RELEASE_, release, \
- CDF_COPYRIGHT_, text, \
- NULL_)
-
- #define CDFinquire(id,numDims,dimSizes,encoding,majority,maxRec,numVars,numAttrs) \
- CDFlib (SELECT_, CDF_, id, \
- GET_, CDF_NUMDIMS_, numDims, \
- CDF_DIMSIZES_, dimSizes, \
- CDF_ENCODING_, encoding, \
- CDF_MAJORITY_, majority, \
- CDF_MAXREC_, maxRec, \
- CDF_NUMVARS_, numVars, \
- CDF_NUMATTRS_, numAttrs, \
- NULL_)
-
- #define CDFclose(id) \
- CDFlib (SELECT_, CDF_, id, \
- CLOSE_, CDF_, \
- NULL_)
-
- #define CDFdelete(id) \
- CDFlib (SELECT_, CDF_, id, \
- DELETE_, CDF_, \
- NULL_)
-
- #define CDFerror(stat, text) \
- CDFlib (SELECT_, CDF_STATUS_, stat, \
- GET_, STATUS_TEXT_, text, \
- NULL_)
-
- #define CDFattrCreate(id,attrName,attrScope,attrNum) \
- CDFlib (SELECT_, CDF_, id, \
- CREATE_, ATTR_, attrName, attrScope, attrNum, \
- NULL_)
-
- #define CDFattrCorrectScope(id,attrNum,attrScope) \
- CDFlib (SELECT_, CDF_, id, \
- ATTR_, attrNum, \
- PUT_, ATTR_SCOPE_, attrScope, \
- NULL_)
-
- #define CDFattrRename(id,attrNum,attrName) \
- CDFlib (SELECT_, CDF_, id, \
- ATTR_, attrNum, \
- PUT_, ATTR_NAME_, attrName, \
- NULL_)
-
- #define CDFattrInquire(id,attrNum,attrName,attrScope,maxEntry) \
- CDFlib (SELECT_, CDF_, id, \
- ATTR_, attrNum, \
- GET_, ATTR_NAME_, attrName, \
- ATTR_SCOPE_, attrScope, \
- ATTR_MAXENTRY_, maxEntry, \
- NULL_)
-
- #define CDFattrEntryInquire(id,attrNum,entryNum,dataType,numElements) \
- CDFlib (SELECT_, CDF_, id, \
- ATTR_, attrNum, \
- ENTRY_, entryNum, \
- GET_, ENTRY_DATATYPE_, dataType, \
- ENTRY_NUMELEMS_, numElements, \
- NULL_)
-
- #define CDFattrPut(id,attrNum,entryNum,dataType,numElements,value) \
- CDFlib (SELECT_, CDF_, id, \
- ATTR_, attrNum, \
- ENTRY_, entryNum, \
- PUT_, ENTRY_DATA_, dataType, numElements, value, \
- NULL_)
-
- #define CDFattrGet(id,attrNum,entryNum,value) \
- CDFlib (SELECT_, CDF_, id, \
- ATTR_, attrNum, \
- ENTRY_, entryNum, \
- GET_, ENTRY_DATA_, value, \
- NULL_)
-
- #define CDFvarCreate(id,varName,dataType,numElements,recVariance,dimVariances,varNum) \
- CDFlib (SELECT_, CDF_, id, \
- CREATE_, VAR_, varName, dataType, numElements, \
- recVariance, dimVariances, varNum, \
- NULL_)
-
- #define CDFvarRename(id,varNum,varName) \
- CDFlib (SELECT_, CDF_, id, \
- VAR_, varNum, \
- PUT_, VAR_NAME_, varName, \
- NULL_)
-
- #define CDFvarInquire(id,varNum,varName,dataType,numElements,recVariance,dimVariance) \
- CDFlib (SELECT_, CDF_, id, \
- VAR_, varNum, \
- GET_, VAR_NAME_, varName, \
- VAR_DATATYPE_, dataType, \
- VAR_NUMELEMS_, numElements, \
- VAR_RECVARY_, recVariance, \
- VAR_DIMVARYS_, dimVariance, \
- NULL_)
-
- #define CDFvarGet(id,varNum,recNum,indices,value) \
- CDFlib (SELECT_, CDF_, id, \
- VAR_, varNum, \
- CDF_RECNUMBER_, recNum, \
- CDF_DIMINDICES_, indices, \
- GET_, VAR_DATA_, value, \
- NULL_)
-
- #define CDFvarPut(id,varNum,recNum,indices,value) \
- CDFlib (SELECT_, CDF_, id, \
- VAR_, varNum, \
- CDF_RECNUMBER_, recNum, \
- CDF_DIMINDICES_, indices, \
- PUT_, VAR_DATA_, value, \
- NULL_)
-
- #define CDFvarHyperGet(id,varNum,recStart,recCount,recInterval,indices,counts,intervals,buffer) \
- CDFlib (SELECT_, CDF_, id, \
- VAR_, varNum, \
- CDF_RECNUMBER_, recStart, \
- CDF_RECCOUNT_, recCount, \
- CDF_RECINTERVAL_, recInterval, \
- CDF_DIMINDICES_, indices, \
- CDF_DIMCOUNTS_, counts, \
- CDF_DIMINTERVALS_, intervals, \
- GET_, VAR_HYPERDATA_, buffer, \
- NULL_)
-
- #define CDFvarHyperPut(id,varNum,recStart,recCount,recInterval,indices,counts,intervals,buffer) \
- CDFlib (SELECT_, CDF_, id, \
- VAR_, varNum, \
- CDF_RECNUMBER_, recStart, \
- CDF_RECCOUNT_, recCount, \
- CDF_RECINTERVAL_, recInterval, \
- CDF_DIMINDICES_, indices, \
- CDF_DIMCOUNTS_, counts, \
- CDF_DIMINTERVALS_, intervals, \
- PUT_, VAR_HYPERDATA_, buffer, \
- NULL_)
-
- #define CDFvarClose(id,varNum) \
- CDFlib (SELECT_, CDF_, id, \
- VAR_, varNum, \
- CLOSE_, VAR_, \
- NULL_)
- #endif
-
- /******************************************************************************
- * CDF defined types
- ******************************************************************************/
-
- typedef long CDFid;
- typedef long CDFstatus;
-
- /******************************************************************************
- * Function prototypes.
- ******************************************************************************/
-
- #if defined(vms) | defined(__MSDOS__)
- CDFstatus CDFlib (long, ...);
-
- #if !C_INTERFACE_MACROS
- CDFstatus CDFcreate (char *, long, long *, long, long, CDFid *);
- CDFstatus CDFopen (char *, CDFid *);
- CDFstatus CDFdoc (CDFid, long *, long *, char *);
- CDFstatus CDFinquire (CDFid, long *, long *, long *, long *,
- long *, long *, long *);
- CDFstatus CDFclose (CDFid);
- CDFstatus CDFdelete (CDFid);
- CDFstatus CDFerror (CDFstatus, char *);
- CDFstatus CDFattrCreate (CDFid, char *, long, long *);
- CDFstatus CDFattrCorrectScope (CDFid, long, long);
- CDFstatus CDFattrRename (CDFid, long, char *);
- CDFstatus CDFattrInquire (CDFid, long, char *, long *, long *);
- CDFstatus CDFattrEntryInquire (CDFid, long, long, long *, long *);
- CDFstatus CDFattrPut (CDFid, long, long, long, long, void *);
- CDFstatus CDFattrGet (CDFid, long, long, void *);
- CDFstatus CDFvarCreate (CDFid, char *, long, long, long, long *, long *);
- CDFstatus CDFvarRename (CDFid, long, char *);
- CDFstatus CDFvarInquire (CDFid, long, char *, long *, long *, long *, long *);
- CDFstatus CDFvarGet (CDFid, long, long, long *, void *);
- CDFstatus CDFvarPut (CDFid, long, long, long *, void *);
- CDFstatus CDFvarHyperGet (CDFid, long, long, long, long,
- long *, long *, long *, void *);
- CDFstatus CDFvarHyperPut (CDFid, long, long, long, long,
- long *, long *, long *, void *);
- CDFstatus CDFvarClose (CDFid, long);
- #endif
-
- long CDFattrNum (CDFid, char *);
- long CDFvarNum (CDFid, char *);
- #endif
-
- #if defined(unix)
- CDFstatus CDFlib ();
-
- #if !C_INTERFACE_MACROS
- CDFstatus CDFcreate ();
- CDFstatus CDFopen ();
- CDFstatus CDFdoc ();
- CDFstatus CDFinquire ();
- CDFstatus CDFclose ();
- CDFstatus CDFdelete ();
- CDFstatus CDFerror ();
- CDFstatus CDFattrCreate ();
- CDFstatus CDFattrCorrectScope ();
- CDFstatus CDFattrRename ();
- CDFstatus CDFattrInquire ();
- CDFstatus CDFattrEntryInquire ();
- CDFstatus CDFattrPut ();
- CDFstatus CDFattrGet ();
- CDFstatus CDFvarCreate ();
- CDFstatus CDFvarRename ();
- CDFstatus CDFvarInquire ();
- CDFstatus CDFvarGet ();
- CDFstatus CDFvarPut ();
- CDFstatus CDFvarHyperGet ();
- CDFstatus CDFvarHyperPut ();
- CDFstatus CDFvarClose ();
- #endif
-
- long CDFattrNum ();
- long CDFvarNum ();
- #endif
-
- /****************************************************************************/
-
- #endif /*___cdf_h___*/
-